package com.qijian.business.domain.query;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;

import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;
import com.baomidou.mybatisplus.annotation.TableName;


/**
 * 质检单对象 查询条件类
 *
 * @author qijian
 * @date 2021-09-09
 */

@Data
@ToString
@TableName("purm_quality")
public class QualityQuery {

    @WhereType(tableName = "purm_quality", filed = "id")
    private Long id;
    @WhereType(tableName = "purm_quality", filed = "name", type = WhereTypeEnum.LIKE)
    private String name;
    @WhereType(tableName = "purm_quality", filed = "number")
    private String number;
    @WhereType(tableName = "purm_quality", filed = "quality_status")
    private Integer qualityStatus;
    @WhereType(tableName = "purm_quality", filed = "quality_user_id")
    private Long qualityUserId;
    @WhereType(tableName = "purm_quality", filed = "quality_user_name")
    private String qualityUserName;
    @WhereType(tableName = "purm_quality", filed = "quality_time", type = WhereTypeEnum.BETWEEN)
    private Date[] qualityTime;
    @WhereType(tableName = "purm_quality", filed = "source_id")
    private Long sourceId;
    @WhereType(tableName = "purm_quality", filed = "source_name")
    private String sourceName;
    @WhereType(tableName = "purm_quality", filed = "supplier_id")
    private Long supplierId;
    @WhereType(tableName = "purm_quality", filed = "supplier_name")
    private String supplierName;
    @WhereType(tableName = "purm_quality", filed = "applicant_id")
    private Long applicantId;
    @WhereType(tableName = "purm_quality", filed = "applicant_name")
    private String applicantName;
    @WhereType(tableName = "purm_quality", filed = "apply_time", type = WhereTypeEnum.BETWEEN)
    private Date[] applyTime;
    @WhereType(tableName = "purm_quality", filed = "remark")
    private String remark;
    @WhereType(tableName = "purm_quality", filed = "product_name")
    private String productName;
    @WhereType(tableName = "purm_quality", filed = "product_source_detail_id")
    private Long productSourceDetailId;
    @WhereType(tableName = "purm_quality", filed = "product_id")
    private Long productId;
    @WhereType(tableName = "purm_quality", filed = "product_number")
    private String productNumber;
    @WhereType(tableName = "purm_quality", filed = "product_specification")
    private String productSpecification;
    @WhereType(tableName = "purm_quality", filed = "product_unit")
    private String productUnit;
    @WhereType(tableName = "purm_quality", filed = "product_unit_price")
    private BigDecimal productUnitPrice;
    @WhereType(tableName = "purm_quality", filed = "product_total_amount")
    private BigDecimal productTotalAmount;
    @WhereType(tableName = "purm_quality", filed = "product_batch_no")
    private Long productBatchNo;
    @WhereType(tableName = "purm_quality", filed = "produced_date")
    private Date producedDate;
    @WhereType(tableName = "purm_quality", filed = "validity_date")
    private Date validityDate;
    @WhereType(tableName = "purm_quality", filed = "arrival_date")
    private Date arrivalDate;
    @WhereType(tableName = "purm_quality", filed = "quality_scheme_id")
    private Long qualitySchemeId;
    @WhereType(tableName = "purm_quality", filed = "quality_scheme_name")
    private Long qualitySchemeName;
    @WhereType(tableName = "purm_quality", filed = "arrival_count")
    private Long arrivalCount;
    @WhereType(tableName = "purm_quality", filed = "quality_type")
    private Integer qualityType;
    @WhereType(tableName = "purm_quality", filed = "quality_count")
    private Long qualityCount;
    @WhereType(tableName = "purm_quality", filed = "qualified_count")
    private Long qualifiedCount;
    @WhereType(tableName = "purm_quality", filed = "unqualified_count")
    private String unqualifiedCount;
    @WhereType(tableName = "purm_quality", filed = "qualified_rate")
    private BigDecimal qualifiedRate;
    @WhereType(tableName = "purm_quality", filed = "quality_result")
    private Integer qualityResult;
    @WhereType(tableName = "purm_quality", filed = "quality_remark")
    private String qualityRemark;
    @WhereType(tableName = "purm_quality", filed = "check_user_id")
    private Integer checkUserId;
    @WhereType(tableName = "purm_quality", filed = "check_user_name")
    private String checkUserName;
    @WhereType(tableName = "purm_quality", filed = "check_time")
    private Date checkTime;
    @WhereType(tableName = "purm_quality", filed = "check_result")
    private Integer checkResult;
    @WhereType(tableName = "purm_quality", filed = "check_remark")
    private String checkRemark;

    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
}
